package com.car.entity;

import java.util.ArrayList;
import java.util.List;

public class DrivigAssistanceExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DrivigAssistanceExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCruiseControlIsNull() {
            addCriterion("cruise_control is null");
            return (Criteria) this;
        }

        public Criteria andCruiseControlIsNotNull() {
            addCriterion("cruise_control is not null");
            return (Criteria) this;
        }

        public Criteria andCruiseControlEqualTo(String value) {
            addCriterion("cruise_control =", value, "cruiseControl");
            return (Criteria) this;
        }

        public Criteria andCruiseControlNotEqualTo(String value) {
            addCriterion("cruise_control <>", value, "cruiseControl");
            return (Criteria) this;
        }

        public Criteria andCruiseControlGreaterThan(String value) {
            addCriterion("cruise_control >", value, "cruiseControl");
            return (Criteria) this;
        }

        public Criteria andCruiseControlGreaterThanOrEqualTo(String value) {
            addCriterion("cruise_control >=", value, "cruiseControl");
            return (Criteria) this;
        }

        public Criteria andCruiseControlLessThan(String value) {
            addCriterion("cruise_control <", value, "cruiseControl");
            return (Criteria) this;
        }

        public Criteria andCruiseControlLessThanOrEqualTo(String value) {
            addCriterion("cruise_control <=", value, "cruiseControl");
            return (Criteria) this;
        }

        public Criteria andCruiseControlLike(String value) {
            addCriterion("cruise_control like", value, "cruiseControl");
            return (Criteria) this;
        }

        public Criteria andCruiseControlNotLike(String value) {
            addCriterion("cruise_control not like", value, "cruiseControl");
            return (Criteria) this;
        }

        public Criteria andCruiseControlIn(List<String> values) {
            addCriterion("cruise_control in", values, "cruiseControl");
            return (Criteria) this;
        }

        public Criteria andCruiseControlNotIn(List<String> values) {
            addCriterion("cruise_control not in", values, "cruiseControl");
            return (Criteria) this;
        }

        public Criteria andCruiseControlBetween(String value1, String value2) {
            addCriterion("cruise_control between", value1, value2, "cruiseControl");
            return (Criteria) this;
        }

        public Criteria andCruiseControlNotBetween(String value1, String value2) {
            addCriterion("cruise_control not between", value1, value2, "cruiseControl");
            return (Criteria) this;
        }

        public Criteria andIaneKeepingIsNull() {
            addCriterion("iane_keeping is null");
            return (Criteria) this;
        }

        public Criteria andIaneKeepingIsNotNull() {
            addCriterion("iane_keeping is not null");
            return (Criteria) this;
        }

        public Criteria andIaneKeepingEqualTo(String value) {
            addCriterion("iane_keeping =", value, "ianeKeeping");
            return (Criteria) this;
        }

        public Criteria andIaneKeepingNotEqualTo(String value) {
            addCriterion("iane_keeping <>", value, "ianeKeeping");
            return (Criteria) this;
        }

        public Criteria andIaneKeepingGreaterThan(String value) {
            addCriterion("iane_keeping >", value, "ianeKeeping");
            return (Criteria) this;
        }

        public Criteria andIaneKeepingGreaterThanOrEqualTo(String value) {
            addCriterion("iane_keeping >=", value, "ianeKeeping");
            return (Criteria) this;
        }

        public Criteria andIaneKeepingLessThan(String value) {
            addCriterion("iane_keeping <", value, "ianeKeeping");
            return (Criteria) this;
        }

        public Criteria andIaneKeepingLessThanOrEqualTo(String value) {
            addCriterion("iane_keeping <=", value, "ianeKeeping");
            return (Criteria) this;
        }

        public Criteria andIaneKeepingLike(String value) {
            addCriterion("iane_keeping like", value, "ianeKeeping");
            return (Criteria) this;
        }

        public Criteria andIaneKeepingNotLike(String value) {
            addCriterion("iane_keeping not like", value, "ianeKeeping");
            return (Criteria) this;
        }

        public Criteria andIaneKeepingIn(List<String> values) {
            addCriterion("iane_keeping in", values, "ianeKeeping");
            return (Criteria) this;
        }

        public Criteria andIaneKeepingNotIn(List<String> values) {
            addCriterion("iane_keeping not in", values, "ianeKeeping");
            return (Criteria) this;
        }

        public Criteria andIaneKeepingBetween(String value1, String value2) {
            addCriterion("iane_keeping between", value1, value2, "ianeKeeping");
            return (Criteria) this;
        }

        public Criteria andIaneKeepingNotBetween(String value1, String value2) {
            addCriterion("iane_keeping not between", value1, value2, "ianeKeeping");
            return (Criteria) this;
        }

        public Criteria andDoublingAssistanceIsNull() {
            addCriterion("doubling_assistance is null");
            return (Criteria) this;
        }

        public Criteria andDoublingAssistanceIsNotNull() {
            addCriterion("doubling_assistance is not null");
            return (Criteria) this;
        }

        public Criteria andDoublingAssistanceEqualTo(String value) {
            addCriterion("doubling_assistance =", value, "doublingAssistance");
            return (Criteria) this;
        }

        public Criteria andDoublingAssistanceNotEqualTo(String value) {
            addCriterion("doubling_assistance <>", value, "doublingAssistance");
            return (Criteria) this;
        }

        public Criteria andDoublingAssistanceGreaterThan(String value) {
            addCriterion("doubling_assistance >", value, "doublingAssistance");
            return (Criteria) this;
        }

        public Criteria andDoublingAssistanceGreaterThanOrEqualTo(String value) {
            addCriterion("doubling_assistance >=", value, "doublingAssistance");
            return (Criteria) this;
        }

        public Criteria andDoublingAssistanceLessThan(String value) {
            addCriterion("doubling_assistance <", value, "doublingAssistance");
            return (Criteria) this;
        }

        public Criteria andDoublingAssistanceLessThanOrEqualTo(String value) {
            addCriterion("doubling_assistance <=", value, "doublingAssistance");
            return (Criteria) this;
        }

        public Criteria andDoublingAssistanceLike(String value) {
            addCriterion("doubling_assistance like", value, "doublingAssistance");
            return (Criteria) this;
        }

        public Criteria andDoublingAssistanceNotLike(String value) {
            addCriterion("doubling_assistance not like", value, "doublingAssistance");
            return (Criteria) this;
        }

        public Criteria andDoublingAssistanceIn(List<String> values) {
            addCriterion("doubling_assistance in", values, "doublingAssistance");
            return (Criteria) this;
        }

        public Criteria andDoublingAssistanceNotIn(List<String> values) {
            addCriterion("doubling_assistance not in", values, "doublingAssistance");
            return (Criteria) this;
        }

        public Criteria andDoublingAssistanceBetween(String value1, String value2) {
            addCriterion("doubling_assistance between", value1, value2, "doublingAssistance");
            return (Criteria) this;
        }

        public Criteria andDoublingAssistanceNotBetween(String value1, String value2) {
            addCriterion("doubling_assistance not between", value1, value2, "doublingAssistance");
            return (Criteria) this;
        }

        public Criteria andCollisionAlarmIsNull() {
            addCriterion("collision_alarm is null");
            return (Criteria) this;
        }

        public Criteria andCollisionAlarmIsNotNull() {
            addCriterion("collision_alarm is not null");
            return (Criteria) this;
        }

        public Criteria andCollisionAlarmEqualTo(String value) {
            addCriterion("collision_alarm =", value, "collisionAlarm");
            return (Criteria) this;
        }

        public Criteria andCollisionAlarmNotEqualTo(String value) {
            addCriterion("collision_alarm <>", value, "collisionAlarm");
            return (Criteria) this;
        }

        public Criteria andCollisionAlarmGreaterThan(String value) {
            addCriterion("collision_alarm >", value, "collisionAlarm");
            return (Criteria) this;
        }

        public Criteria andCollisionAlarmGreaterThanOrEqualTo(String value) {
            addCriterion("collision_alarm >=", value, "collisionAlarm");
            return (Criteria) this;
        }

        public Criteria andCollisionAlarmLessThan(String value) {
            addCriterion("collision_alarm <", value, "collisionAlarm");
            return (Criteria) this;
        }

        public Criteria andCollisionAlarmLessThanOrEqualTo(String value) {
            addCriterion("collision_alarm <=", value, "collisionAlarm");
            return (Criteria) this;
        }

        public Criteria andCollisionAlarmLike(String value) {
            addCriterion("collision_alarm like", value, "collisionAlarm");
            return (Criteria) this;
        }

        public Criteria andCollisionAlarmNotLike(String value) {
            addCriterion("collision_alarm not like", value, "collisionAlarm");
            return (Criteria) this;
        }

        public Criteria andCollisionAlarmIn(List<String> values) {
            addCriterion("collision_alarm in", values, "collisionAlarm");
            return (Criteria) this;
        }

        public Criteria andCollisionAlarmNotIn(List<String> values) {
            addCriterion("collision_alarm not in", values, "collisionAlarm");
            return (Criteria) this;
        }

        public Criteria andCollisionAlarmBetween(String value1, String value2) {
            addCriterion("collision_alarm between", value1, value2, "collisionAlarm");
            return (Criteria) this;
        }

        public Criteria andCollisionAlarmNotBetween(String value1, String value2) {
            addCriterion("collision_alarm not between", value1, value2, "collisionAlarm");
            return (Criteria) this;
        }

        public Criteria andFatigueReminderIsNull() {
            addCriterion("fatigue_reminder is null");
            return (Criteria) this;
        }

        public Criteria andFatigueReminderIsNotNull() {
            addCriterion("fatigue_reminder is not null");
            return (Criteria) this;
        }

        public Criteria andFatigueReminderEqualTo(String value) {
            addCriterion("fatigue_reminder =", value, "fatigueReminder");
            return (Criteria) this;
        }

        public Criteria andFatigueReminderNotEqualTo(String value) {
            addCriterion("fatigue_reminder <>", value, "fatigueReminder");
            return (Criteria) this;
        }

        public Criteria andFatigueReminderGreaterThan(String value) {
            addCriterion("fatigue_reminder >", value, "fatigueReminder");
            return (Criteria) this;
        }

        public Criteria andFatigueReminderGreaterThanOrEqualTo(String value) {
            addCriterion("fatigue_reminder >=", value, "fatigueReminder");
            return (Criteria) this;
        }

        public Criteria andFatigueReminderLessThan(String value) {
            addCriterion("fatigue_reminder <", value, "fatigueReminder");
            return (Criteria) this;
        }

        public Criteria andFatigueReminderLessThanOrEqualTo(String value) {
            addCriterion("fatigue_reminder <=", value, "fatigueReminder");
            return (Criteria) this;
        }

        public Criteria andFatigueReminderLike(String value) {
            addCriterion("fatigue_reminder like", value, "fatigueReminder");
            return (Criteria) this;
        }

        public Criteria andFatigueReminderNotLike(String value) {
            addCriterion("fatigue_reminder not like", value, "fatigueReminder");
            return (Criteria) this;
        }

        public Criteria andFatigueReminderIn(List<String> values) {
            addCriterion("fatigue_reminder in", values, "fatigueReminder");
            return (Criteria) this;
        }

        public Criteria andFatigueReminderNotIn(List<String> values) {
            addCriterion("fatigue_reminder not in", values, "fatigueReminder");
            return (Criteria) this;
        }

        public Criteria andFatigueReminderBetween(String value1, String value2) {
            addCriterion("fatigue_reminder between", value1, value2, "fatigueReminder");
            return (Criteria) this;
        }

        public Criteria andFatigueReminderNotBetween(String value1, String value2) {
            addCriterion("fatigue_reminder not between", value1, value2, "fatigueReminder");
            return (Criteria) this;
        }

        public Criteria andAutomaticParkingIsNull() {
            addCriterion("automatic_parking is null");
            return (Criteria) this;
        }

        public Criteria andAutomaticParkingIsNotNull() {
            addCriterion("automatic_parking is not null");
            return (Criteria) this;
        }

        public Criteria andAutomaticParkingEqualTo(String value) {
            addCriterion("automatic_parking =", value, "automaticParking");
            return (Criteria) this;
        }

        public Criteria andAutomaticParkingNotEqualTo(String value) {
            addCriterion("automatic_parking <>", value, "automaticParking");
            return (Criteria) this;
        }

        public Criteria andAutomaticParkingGreaterThan(String value) {
            addCriterion("automatic_parking >", value, "automaticParking");
            return (Criteria) this;
        }

        public Criteria andAutomaticParkingGreaterThanOrEqualTo(String value) {
            addCriterion("automatic_parking >=", value, "automaticParking");
            return (Criteria) this;
        }

        public Criteria andAutomaticParkingLessThan(String value) {
            addCriterion("automatic_parking <", value, "automaticParking");
            return (Criteria) this;
        }

        public Criteria andAutomaticParkingLessThanOrEqualTo(String value) {
            addCriterion("automatic_parking <=", value, "automaticParking");
            return (Criteria) this;
        }

        public Criteria andAutomaticParkingLike(String value) {
            addCriterion("automatic_parking like", value, "automaticParking");
            return (Criteria) this;
        }

        public Criteria andAutomaticParkingNotLike(String value) {
            addCriterion("automatic_parking not like", value, "automaticParking");
            return (Criteria) this;
        }

        public Criteria andAutomaticParkingIn(List<String> values) {
            addCriterion("automatic_parking in", values, "automaticParking");
            return (Criteria) this;
        }

        public Criteria andAutomaticParkingNotIn(List<String> values) {
            addCriterion("automatic_parking not in", values, "automaticParking");
            return (Criteria) this;
        }

        public Criteria andAutomaticParkingBetween(String value1, String value2) {
            addCriterion("automatic_parking between", value1, value2, "automaticParking");
            return (Criteria) this;
        }

        public Criteria andAutomaticParkingNotBetween(String value1, String value2) {
            addCriterion("automatic_parking not between", value1, value2, "automaticParking");
            return (Criteria) this;
        }

        public Criteria andPilotedParkingIsNull() {
            addCriterion("piloted_parking is null");
            return (Criteria) this;
        }

        public Criteria andPilotedParkingIsNotNull() {
            addCriterion("piloted_parking is not null");
            return (Criteria) this;
        }

        public Criteria andPilotedParkingEqualTo(String value) {
            addCriterion("piloted_parking =", value, "pilotedParking");
            return (Criteria) this;
        }

        public Criteria andPilotedParkingNotEqualTo(String value) {
            addCriterion("piloted_parking <>", value, "pilotedParking");
            return (Criteria) this;
        }

        public Criteria andPilotedParkingGreaterThan(String value) {
            addCriterion("piloted_parking >", value, "pilotedParking");
            return (Criteria) this;
        }

        public Criteria andPilotedParkingGreaterThanOrEqualTo(String value) {
            addCriterion("piloted_parking >=", value, "pilotedParking");
            return (Criteria) this;
        }

        public Criteria andPilotedParkingLessThan(String value) {
            addCriterion("piloted_parking <", value, "pilotedParking");
            return (Criteria) this;
        }

        public Criteria andPilotedParkingLessThanOrEqualTo(String value) {
            addCriterion("piloted_parking <=", value, "pilotedParking");
            return (Criteria) this;
        }

        public Criteria andPilotedParkingLike(String value) {
            addCriterion("piloted_parking like", value, "pilotedParking");
            return (Criteria) this;
        }

        public Criteria andPilotedParkingNotLike(String value) {
            addCriterion("piloted_parking not like", value, "pilotedParking");
            return (Criteria) this;
        }

        public Criteria andPilotedParkingIn(List<String> values) {
            addCriterion("piloted_parking in", values, "pilotedParking");
            return (Criteria) this;
        }

        public Criteria andPilotedParkingNotIn(List<String> values) {
            addCriterion("piloted_parking not in", values, "pilotedParking");
            return (Criteria) this;
        }

        public Criteria andPilotedParkingBetween(String value1, String value2) {
            addCriterion("piloted_parking between", value1, value2, "pilotedParking");
            return (Criteria) this;
        }

        public Criteria andPilotedParkingNotBetween(String value1, String value2) {
            addCriterion("piloted_parking not between", value1, value2, "pilotedParking");
            return (Criteria) this;
        }

        public Criteria andAutopilotAssistanceIsNull() {
            addCriterion("autopilot_assistance is null");
            return (Criteria) this;
        }

        public Criteria andAutopilotAssistanceIsNotNull() {
            addCriterion("autopilot_assistance is not null");
            return (Criteria) this;
        }

        public Criteria andAutopilotAssistanceEqualTo(String value) {
            addCriterion("autopilot_assistance =", value, "autopilotAssistance");
            return (Criteria) this;
        }

        public Criteria andAutopilotAssistanceNotEqualTo(String value) {
            addCriterion("autopilot_assistance <>", value, "autopilotAssistance");
            return (Criteria) this;
        }

        public Criteria andAutopilotAssistanceGreaterThan(String value) {
            addCriterion("autopilot_assistance >", value, "autopilotAssistance");
            return (Criteria) this;
        }

        public Criteria andAutopilotAssistanceGreaterThanOrEqualTo(String value) {
            addCriterion("autopilot_assistance >=", value, "autopilotAssistance");
            return (Criteria) this;
        }

        public Criteria andAutopilotAssistanceLessThan(String value) {
            addCriterion("autopilot_assistance <", value, "autopilotAssistance");
            return (Criteria) this;
        }

        public Criteria andAutopilotAssistanceLessThanOrEqualTo(String value) {
            addCriterion("autopilot_assistance <=", value, "autopilotAssistance");
            return (Criteria) this;
        }

        public Criteria andAutopilotAssistanceLike(String value) {
            addCriterion("autopilot_assistance like", value, "autopilotAssistance");
            return (Criteria) this;
        }

        public Criteria andAutopilotAssistanceNotLike(String value) {
            addCriterion("autopilot_assistance not like", value, "autopilotAssistance");
            return (Criteria) this;
        }

        public Criteria andAutopilotAssistanceIn(List<String> values) {
            addCriterion("autopilot_assistance in", values, "autopilotAssistance");
            return (Criteria) this;
        }

        public Criteria andAutopilotAssistanceNotIn(List<String> values) {
            addCriterion("autopilot_assistance not in", values, "autopilotAssistance");
            return (Criteria) this;
        }

        public Criteria andAutopilotAssistanceBetween(String value1, String value2) {
            addCriterion("autopilot_assistance between", value1, value2, "autopilotAssistance");
            return (Criteria) this;
        }

        public Criteria andAutopilotAssistanceNotBetween(String value1, String value2) {
            addCriterion("autopilot_assistance not between", value1, value2, "autopilotAssistance");
            return (Criteria) this;
        }

        public Criteria andAutomaticParking2IsNull() {
            addCriterion("automatic_parking2 is null");
            return (Criteria) this;
        }

        public Criteria andAutomaticParking2IsNotNull() {
            addCriterion("automatic_parking2 is not null");
            return (Criteria) this;
        }

        public Criteria andAutomaticParking2EqualTo(String value) {
            addCriterion("automatic_parking2 =", value, "automaticParking2");
            return (Criteria) this;
        }

        public Criteria andAutomaticParking2NotEqualTo(String value) {
            addCriterion("automatic_parking2 <>", value, "automaticParking2");
            return (Criteria) this;
        }

        public Criteria andAutomaticParking2GreaterThan(String value) {
            addCriterion("automatic_parking2 >", value, "automaticParking2");
            return (Criteria) this;
        }

        public Criteria andAutomaticParking2GreaterThanOrEqualTo(String value) {
            addCriterion("automatic_parking2 >=", value, "automaticParking2");
            return (Criteria) this;
        }

        public Criteria andAutomaticParking2LessThan(String value) {
            addCriterion("automatic_parking2 <", value, "automaticParking2");
            return (Criteria) this;
        }

        public Criteria andAutomaticParking2LessThanOrEqualTo(String value) {
            addCriterion("automatic_parking2 <=", value, "automaticParking2");
            return (Criteria) this;
        }

        public Criteria andAutomaticParking2Like(String value) {
            addCriterion("automatic_parking2 like", value, "automaticParking2");
            return (Criteria) this;
        }

        public Criteria andAutomaticParking2NotLike(String value) {
            addCriterion("automatic_parking2 not like", value, "automaticParking2");
            return (Criteria) this;
        }

        public Criteria andAutomaticParking2In(List<String> values) {
            addCriterion("automatic_parking2 in", values, "automaticParking2");
            return (Criteria) this;
        }

        public Criteria andAutomaticParking2NotIn(List<String> values) {
            addCriterion("automatic_parking2 not in", values, "automaticParking2");
            return (Criteria) this;
        }

        public Criteria andAutomaticParking2Between(String value1, String value2) {
            addCriterion("automatic_parking2 between", value1, value2, "automaticParking2");
            return (Criteria) this;
        }

        public Criteria andAutomaticParking2NotBetween(String value1, String value2) {
            addCriterion("automatic_parking2 not between", value1, value2, "automaticParking2");
            return (Criteria) this;
        }

        public Criteria andUphillAuxiliaryIsNull() {
            addCriterion("uphill_auxiliary is null");
            return (Criteria) this;
        }

        public Criteria andUphillAuxiliaryIsNotNull() {
            addCriterion("uphill_auxiliary is not null");
            return (Criteria) this;
        }

        public Criteria andUphillAuxiliaryEqualTo(String value) {
            addCriterion("uphill_auxiliary =", value, "uphillAuxiliary");
            return (Criteria) this;
        }

        public Criteria andUphillAuxiliaryNotEqualTo(String value) {
            addCriterion("uphill_auxiliary <>", value, "uphillAuxiliary");
            return (Criteria) this;
        }

        public Criteria andUphillAuxiliaryGreaterThan(String value) {
            addCriterion("uphill_auxiliary >", value, "uphillAuxiliary");
            return (Criteria) this;
        }

        public Criteria andUphillAuxiliaryGreaterThanOrEqualTo(String value) {
            addCriterion("uphill_auxiliary >=", value, "uphillAuxiliary");
            return (Criteria) this;
        }

        public Criteria andUphillAuxiliaryLessThan(String value) {
            addCriterion("uphill_auxiliary <", value, "uphillAuxiliary");
            return (Criteria) this;
        }

        public Criteria andUphillAuxiliaryLessThanOrEqualTo(String value) {
            addCriterion("uphill_auxiliary <=", value, "uphillAuxiliary");
            return (Criteria) this;
        }

        public Criteria andUphillAuxiliaryLike(String value) {
            addCriterion("uphill_auxiliary like", value, "uphillAuxiliary");
            return (Criteria) this;
        }

        public Criteria andUphillAuxiliaryNotLike(String value) {
            addCriterion("uphill_auxiliary not like", value, "uphillAuxiliary");
            return (Criteria) this;
        }

        public Criteria andUphillAuxiliaryIn(List<String> values) {
            addCriterion("uphill_auxiliary in", values, "uphillAuxiliary");
            return (Criteria) this;
        }

        public Criteria andUphillAuxiliaryNotIn(List<String> values) {
            addCriterion("uphill_auxiliary not in", values, "uphillAuxiliary");
            return (Criteria) this;
        }

        public Criteria andUphillAuxiliaryBetween(String value1, String value2) {
            addCriterion("uphill_auxiliary between", value1, value2, "uphillAuxiliary");
            return (Criteria) this;
        }

        public Criteria andUphillAuxiliaryNotBetween(String value1, String value2) {
            addCriterion("uphill_auxiliary not between", value1, value2, "uphillAuxiliary");
            return (Criteria) this;
        }

        public Criteria andSteepSlopeSlowDescentIsNull() {
            addCriterion("steep_slope_slow_descent is null");
            return (Criteria) this;
        }

        public Criteria andSteepSlopeSlowDescentIsNotNull() {
            addCriterion("steep_slope_slow_descent is not null");
            return (Criteria) this;
        }

        public Criteria andSteepSlopeSlowDescentEqualTo(String value) {
            addCriterion("steep_slope_slow_descent =", value, "steepSlopeSlowDescent");
            return (Criteria) this;
        }

        public Criteria andSteepSlopeSlowDescentNotEqualTo(String value) {
            addCriterion("steep_slope_slow_descent <>", value, "steepSlopeSlowDescent");
            return (Criteria) this;
        }

        public Criteria andSteepSlopeSlowDescentGreaterThan(String value) {
            addCriterion("steep_slope_slow_descent >", value, "steepSlopeSlowDescent");
            return (Criteria) this;
        }

        public Criteria andSteepSlopeSlowDescentGreaterThanOrEqualTo(String value) {
            addCriterion("steep_slope_slow_descent >=", value, "steepSlopeSlowDescent");
            return (Criteria) this;
        }

        public Criteria andSteepSlopeSlowDescentLessThan(String value) {
            addCriterion("steep_slope_slow_descent <", value, "steepSlopeSlowDescent");
            return (Criteria) this;
        }

        public Criteria andSteepSlopeSlowDescentLessThanOrEqualTo(String value) {
            addCriterion("steep_slope_slow_descent <=", value, "steepSlopeSlowDescent");
            return (Criteria) this;
        }

        public Criteria andSteepSlopeSlowDescentLike(String value) {
            addCriterion("steep_slope_slow_descent like", value, "steepSlopeSlowDescent");
            return (Criteria) this;
        }

        public Criteria andSteepSlopeSlowDescentNotLike(String value) {
            addCriterion("steep_slope_slow_descent not like", value, "steepSlopeSlowDescent");
            return (Criteria) this;
        }

        public Criteria andSteepSlopeSlowDescentIn(List<String> values) {
            addCriterion("steep_slope_slow_descent in", values, "steepSlopeSlowDescent");
            return (Criteria) this;
        }

        public Criteria andSteepSlopeSlowDescentNotIn(List<String> values) {
            addCriterion("steep_slope_slow_descent not in", values, "steepSlopeSlowDescent");
            return (Criteria) this;
        }

        public Criteria andSteepSlopeSlowDescentBetween(String value1, String value2) {
            addCriterion("steep_slope_slow_descent between", value1, value2, "steepSlopeSlowDescent");
            return (Criteria) this;
        }

        public Criteria andSteepSlopeSlowDescentNotBetween(String value1, String value2) {
            addCriterion("steep_slope_slow_descent not between", value1, value2, "steepSlopeSlowDescent");
            return (Criteria) this;
        }

        public Criteria andNightVisionSystemIsNull() {
            addCriterion("night_vision_system is null");
            return (Criteria) this;
        }

        public Criteria andNightVisionSystemIsNotNull() {
            addCriterion("night_vision_system is not null");
            return (Criteria) this;
        }

        public Criteria andNightVisionSystemEqualTo(String value) {
            addCriterion("night_vision_system =", value, "nightVisionSystem");
            return (Criteria) this;
        }

        public Criteria andNightVisionSystemNotEqualTo(String value) {
            addCriterion("night_vision_system <>", value, "nightVisionSystem");
            return (Criteria) this;
        }

        public Criteria andNightVisionSystemGreaterThan(String value) {
            addCriterion("night_vision_system >", value, "nightVisionSystem");
            return (Criteria) this;
        }

        public Criteria andNightVisionSystemGreaterThanOrEqualTo(String value) {
            addCriterion("night_vision_system >=", value, "nightVisionSystem");
            return (Criteria) this;
        }

        public Criteria andNightVisionSystemLessThan(String value) {
            addCriterion("night_vision_system <", value, "nightVisionSystem");
            return (Criteria) this;
        }

        public Criteria andNightVisionSystemLessThanOrEqualTo(String value) {
            addCriterion("night_vision_system <=", value, "nightVisionSystem");
            return (Criteria) this;
        }

        public Criteria andNightVisionSystemLike(String value) {
            addCriterion("night_vision_system like", value, "nightVisionSystem");
            return (Criteria) this;
        }

        public Criteria andNightVisionSystemNotLike(String value) {
            addCriterion("night_vision_system not like", value, "nightVisionSystem");
            return (Criteria) this;
        }

        public Criteria andNightVisionSystemIn(List<String> values) {
            addCriterion("night_vision_system in", values, "nightVisionSystem");
            return (Criteria) this;
        }

        public Criteria andNightVisionSystemNotIn(List<String> values) {
            addCriterion("night_vision_system not in", values, "nightVisionSystem");
            return (Criteria) this;
        }

        public Criteria andNightVisionSystemBetween(String value1, String value2) {
            addCriterion("night_vision_system between", value1, value2, "nightVisionSystem");
            return (Criteria) this;
        }

        public Criteria andNightVisionSystemNotBetween(String value1, String value2) {
            addCriterion("night_vision_system not between", value1, value2, "nightVisionSystem");
            return (Criteria) this;
        }

        public Criteria andVariableGearRatioSteeringIsNull() {
            addCriterion("\"variable_gear _ratio_steering\" is null");
            return (Criteria) this;
        }

        public Criteria andVariableGearRatioSteeringIsNotNull() {
            addCriterion("\"variable_gear _ratio_steering\" is not null");
            return (Criteria) this;
        }

        public Criteria andVariableGearRatioSteeringEqualTo(String value) {
            addCriterion("\"variable_gear _ratio_steering\" =", value, "variableGearRatioSteering");
            return (Criteria) this;
        }

        public Criteria andVariableGearRatioSteeringNotEqualTo(String value) {
            addCriterion("\"variable_gear _ratio_steering\" <>", value, "variableGearRatioSteering");
            return (Criteria) this;
        }

        public Criteria andVariableGearRatioSteeringGreaterThan(String value) {
            addCriterion("\"variable_gear _ratio_steering\" >", value, "variableGearRatioSteering");
            return (Criteria) this;
        }

        public Criteria andVariableGearRatioSteeringGreaterThanOrEqualTo(String value) {
            addCriterion("\"variable_gear _ratio_steering\" >=", value, "variableGearRatioSteering");
            return (Criteria) this;
        }

        public Criteria andVariableGearRatioSteeringLessThan(String value) {
            addCriterion("\"variable_gear _ratio_steering\" <", value, "variableGearRatioSteering");
            return (Criteria) this;
        }

        public Criteria andVariableGearRatioSteeringLessThanOrEqualTo(String value) {
            addCriterion("\"variable_gear _ratio_steering\" <=", value, "variableGearRatioSteering");
            return (Criteria) this;
        }

        public Criteria andVariableGearRatioSteeringLike(String value) {
            addCriterion("\"variable_gear _ratio_steering\" like", value, "variableGearRatioSteering");
            return (Criteria) this;
        }

        public Criteria andVariableGearRatioSteeringNotLike(String value) {
            addCriterion("\"variable_gear _ratio_steering\" not like", value, "variableGearRatioSteering");
            return (Criteria) this;
        }

        public Criteria andVariableGearRatioSteeringIn(List<String> values) {
            addCriterion("\"variable_gear _ratio_steering\" in", values, "variableGearRatioSteering");
            return (Criteria) this;
        }

        public Criteria andVariableGearRatioSteeringNotIn(List<String> values) {
            addCriterion("\"variable_gear _ratio_steering\" not in", values, "variableGearRatioSteering");
            return (Criteria) this;
        }

        public Criteria andVariableGearRatioSteeringBetween(String value1, String value2) {
            addCriterion("\"variable_gear _ratio_steering\" between", value1, value2, "variableGearRatioSteering");
            return (Criteria) this;
        }

        public Criteria andVariableGearRatioSteeringNotBetween(String value1, String value2) {
            addCriterion("\"variable_gear _ratio_steering\" not between", value1, value2, "variableGearRatioSteering");
            return (Criteria) this;
        }

        public Criteria andFrontReversingRadaIsNull() {
            addCriterion("front_reversing_rada is null");
            return (Criteria) this;
        }

        public Criteria andFrontReversingRadaIsNotNull() {
            addCriterion("front_reversing_rada is not null");
            return (Criteria) this;
        }

        public Criteria andFrontReversingRadaEqualTo(String value) {
            addCriterion("front_reversing_rada =", value, "frontReversingRada");
            return (Criteria) this;
        }

        public Criteria andFrontReversingRadaNotEqualTo(String value) {
            addCriterion("front_reversing_rada <>", value, "frontReversingRada");
            return (Criteria) this;
        }

        public Criteria andFrontReversingRadaGreaterThan(String value) {
            addCriterion("front_reversing_rada >", value, "frontReversingRada");
            return (Criteria) this;
        }

        public Criteria andFrontReversingRadaGreaterThanOrEqualTo(String value) {
            addCriterion("front_reversing_rada >=", value, "frontReversingRada");
            return (Criteria) this;
        }

        public Criteria andFrontReversingRadaLessThan(String value) {
            addCriterion("front_reversing_rada <", value, "frontReversingRada");
            return (Criteria) this;
        }

        public Criteria andFrontReversingRadaLessThanOrEqualTo(String value) {
            addCriterion("front_reversing_rada <=", value, "frontReversingRada");
            return (Criteria) this;
        }

        public Criteria andFrontReversingRadaLike(String value) {
            addCriterion("front_reversing_rada like", value, "frontReversingRada");
            return (Criteria) this;
        }

        public Criteria andFrontReversingRadaNotLike(String value) {
            addCriterion("front_reversing_rada not like", value, "frontReversingRada");
            return (Criteria) this;
        }

        public Criteria andFrontReversingRadaIn(List<String> values) {
            addCriterion("front_reversing_rada in", values, "frontReversingRada");
            return (Criteria) this;
        }

        public Criteria andFrontReversingRadaNotIn(List<String> values) {
            addCriterion("front_reversing_rada not in", values, "frontReversingRada");
            return (Criteria) this;
        }

        public Criteria andFrontReversingRadaBetween(String value1, String value2) {
            addCriterion("front_reversing_rada between", value1, value2, "frontReversingRada");
            return (Criteria) this;
        }

        public Criteria andFrontReversingRadaNotBetween(String value1, String value2) {
            addCriterion("front_reversing_rada not between", value1, value2, "frontReversingRada");
            return (Criteria) this;
        }

        public Criteria andRearReversingRadaIsNull() {
            addCriterion("rear_reversing_rada is null");
            return (Criteria) this;
        }

        public Criteria andRearReversingRadaIsNotNull() {
            addCriterion("rear_reversing_rada is not null");
            return (Criteria) this;
        }

        public Criteria andRearReversingRadaEqualTo(String value) {
            addCriterion("rear_reversing_rada =", value, "rearReversingRada");
            return (Criteria) this;
        }

        public Criteria andRearReversingRadaNotEqualTo(String value) {
            addCriterion("rear_reversing_rada <>", value, "rearReversingRada");
            return (Criteria) this;
        }

        public Criteria andRearReversingRadaGreaterThan(String value) {
            addCriterion("rear_reversing_rada >", value, "rearReversingRada");
            return (Criteria) this;
        }

        public Criteria andRearReversingRadaGreaterThanOrEqualTo(String value) {
            addCriterion("rear_reversing_rada >=", value, "rearReversingRada");
            return (Criteria) this;
        }

        public Criteria andRearReversingRadaLessThan(String value) {
            addCriterion("rear_reversing_rada <", value, "rearReversingRada");
            return (Criteria) this;
        }

        public Criteria andRearReversingRadaLessThanOrEqualTo(String value) {
            addCriterion("rear_reversing_rada <=", value, "rearReversingRada");
            return (Criteria) this;
        }

        public Criteria andRearReversingRadaLike(String value) {
            addCriterion("rear_reversing_rada like", value, "rearReversingRada");
            return (Criteria) this;
        }

        public Criteria andRearReversingRadaNotLike(String value) {
            addCriterion("rear_reversing_rada not like", value, "rearReversingRada");
            return (Criteria) this;
        }

        public Criteria andRearReversingRadaIn(List<String> values) {
            addCriterion("rear_reversing_rada in", values, "rearReversingRada");
            return (Criteria) this;
        }

        public Criteria andRearReversingRadaNotIn(List<String> values) {
            addCriterion("rear_reversing_rada not in", values, "rearReversingRada");
            return (Criteria) this;
        }

        public Criteria andRearReversingRadaBetween(String value1, String value2) {
            addCriterion("rear_reversing_rada between", value1, value2, "rearReversingRada");
            return (Criteria) this;
        }

        public Criteria andRearReversingRadaNotBetween(String value1, String value2) {
            addCriterion("rear_reversing_rada not between", value1, value2, "rearReversingRada");
            return (Criteria) this;
        }

        public Criteria andReversingImageIsNull() {
            addCriterion("reversing_image is null");
            return (Criteria) this;
        }

        public Criteria andReversingImageIsNotNull() {
            addCriterion("reversing_image is not null");
            return (Criteria) this;
        }

        public Criteria andReversingImageEqualTo(String value) {
            addCriterion("reversing_image =", value, "reversingImage");
            return (Criteria) this;
        }

        public Criteria andReversingImageNotEqualTo(String value) {
            addCriterion("reversing_image <>", value, "reversingImage");
            return (Criteria) this;
        }

        public Criteria andReversingImageGreaterThan(String value) {
            addCriterion("reversing_image >", value, "reversingImage");
            return (Criteria) this;
        }

        public Criteria andReversingImageGreaterThanOrEqualTo(String value) {
            addCriterion("reversing_image >=", value, "reversingImage");
            return (Criteria) this;
        }

        public Criteria andReversingImageLessThan(String value) {
            addCriterion("reversing_image <", value, "reversingImage");
            return (Criteria) this;
        }

        public Criteria andReversingImageLessThanOrEqualTo(String value) {
            addCriterion("reversing_image <=", value, "reversingImage");
            return (Criteria) this;
        }

        public Criteria andReversingImageLike(String value) {
            addCriterion("reversing_image like", value, "reversingImage");
            return (Criteria) this;
        }

        public Criteria andReversingImageNotLike(String value) {
            addCriterion("reversing_image not like", value, "reversingImage");
            return (Criteria) this;
        }

        public Criteria andReversingImageIn(List<String> values) {
            addCriterion("reversing_image in", values, "reversingImage");
            return (Criteria) this;
        }

        public Criteria andReversingImageNotIn(List<String> values) {
            addCriterion("reversing_image not in", values, "reversingImage");
            return (Criteria) this;
        }

        public Criteria andReversingImageBetween(String value1, String value2) {
            addCriterion("reversing_image between", value1, value2, "reversingImage");
            return (Criteria) this;
        }

        public Criteria andReversingImageNotBetween(String value1, String value2) {
            addCriterion("reversing_image not between", value1, value2, "reversingImage");
            return (Criteria) this;
        }

        public Criteria andDrivingModeSelectionIsNull() {
            addCriterion("driving_mode_selection is null");
            return (Criteria) this;
        }

        public Criteria andDrivingModeSelectionIsNotNull() {
            addCriterion("driving_mode_selection is not null");
            return (Criteria) this;
        }

        public Criteria andDrivingModeSelectionEqualTo(String value) {
            addCriterion("driving_mode_selection =", value, "drivingModeSelection");
            return (Criteria) this;
        }

        public Criteria andDrivingModeSelectionNotEqualTo(String value) {
            addCriterion("driving_mode_selection <>", value, "drivingModeSelection");
            return (Criteria) this;
        }

        public Criteria andDrivingModeSelectionGreaterThan(String value) {
            addCriterion("driving_mode_selection >", value, "drivingModeSelection");
            return (Criteria) this;
        }

        public Criteria andDrivingModeSelectionGreaterThanOrEqualTo(String value) {
            addCriterion("driving_mode_selection >=", value, "drivingModeSelection");
            return (Criteria) this;
        }

        public Criteria andDrivingModeSelectionLessThan(String value) {
            addCriterion("driving_mode_selection <", value, "drivingModeSelection");
            return (Criteria) this;
        }

        public Criteria andDrivingModeSelectionLessThanOrEqualTo(String value) {
            addCriterion("driving_mode_selection <=", value, "drivingModeSelection");
            return (Criteria) this;
        }

        public Criteria andDrivingModeSelectionLike(String value) {
            addCriterion("driving_mode_selection like", value, "drivingModeSelection");
            return (Criteria) this;
        }

        public Criteria andDrivingModeSelectionNotLike(String value) {
            addCriterion("driving_mode_selection not like", value, "drivingModeSelection");
            return (Criteria) this;
        }

        public Criteria andDrivingModeSelectionIn(List<String> values) {
            addCriterion("driving_mode_selection in", values, "drivingModeSelection");
            return (Criteria) this;
        }

        public Criteria andDrivingModeSelectionNotIn(List<String> values) {
            addCriterion("driving_mode_selection not in", values, "drivingModeSelection");
            return (Criteria) this;
        }

        public Criteria andDrivingModeSelectionBetween(String value1, String value2) {
            addCriterion("driving_mode_selection between", value1, value2, "drivingModeSelection");
            return (Criteria) this;
        }

        public Criteria andDrivingModeSelectionNotBetween(String value1, String value2) {
            addCriterion("driving_mode_selection not between", value1, value2, "drivingModeSelection");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}